Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating to m80 #64

Merged
merged 10,000 commits into from
Apr 24, 2020
Merged

Updating to m80 #64

merged 10,000 commits into from
Apr 24, 2020

Conversation

mattleibow
Copy link

@mattleibow mattleibow commented Sep 28, 2019

Tasks

  • Merge native skia
  • Get native skia building
    • Hacking out the problems so it compiles
    • Fixing the problems properly
  • Bind any new members that are essential

Seems to be a fair chunk of changes to:

  • SkColorSpace
  • SkPaint
  • SkFont

...and the usual reordering/removing of enum values...

Diff against chrome/m79: google/skia@chrome/m80...mono:dev/update-m78

@mattleibow mattleibow changed the title Updating to m78 [WIP] Updating to m78 Oct 15, 2019
@mattleibow mattleibow changed the title [WIP] Updating to m78 [WIP] Updating to m789 Oct 21, 2019
@ngocdaothanh
Copy link

Hi, what's the status of the update to newer version of Skia?

I think the title of this PR "[WIP] Updating to m789" is wrong, because there's only branches chrome/m78 and chrome/m79:
https://github.com/google/skia

@Gillibald
Copy link

It is meant to say that the work started with m78 release and will most likely use m79 that was released 2 days ago I think.

As I understand it the current state just builds but nothing was added to reflect the added removed APIs.

@mattleibow mattleibow changed the title [WIP] Updating to m789 [WIP] Updating to m79 Nov 5, 2019
@mattleibow
Copy link
Author

mattleibow commented Nov 5, 2019

At this point, I am just getting all the bits to just build from the native side. But, I am also taking the opportunity to update some of the fairly tools, sudh as the NDK and VS and .NET Core. A bit of work is being done in conjunction with this PR back as SkiaSharp: #64

Right now, I think things are "building" but I did remove some critical APIs. Need to add them back and then we can move onto updating the C# bits. I wanted to take a mini pause as I got a C# generator in place to automatically generate the new p/invokes as there are a few changes. And, I don't want to make any mistakes: mono/SkiaSharp#992

In order to get it to build, I had to make a few changes, and the new p/invoke API is now this diff: https://gist.github.com/mattleibow/9597f75648927ef8847113039de643ba
This is not going to stick around since I will be adding back a fair bit - but a lot has changed and this is going to be a fun little project :) My favourite part is this:
https://gist.github.com/mattleibow/9597f75648927ef8847113039de643ba#file-diff-patch-L582-L595

Why add an enum item to the end when you can insert it in the middle?

rosasco-wk and others added 22 commits November 21, 2019 22:29
Change-Id: Ib958e768f6293812e5a96589e6d3d672aae1dc7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255865
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: If2686949009ba6fdf703ea794c0764c0e9966590
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252261
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
This partially reverts
https://skia-review.googlesource.com/c/skia/+/254797. The Ubuntu18 GCC
job was added in anticipation of using it for Valgrind jobs; however,
https://skia-review.googlesource.com/c/skia/+/255537 switches Valgrind
to Clang, which makes this unnecessary.

Bug: skia:9632
Change-Id: I97d7e0d4e3be109ae48b386140117aac4279618f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255790
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/65f6b45d6d3fb1050a1f802969ef9ad2c0000428 gclient: Assert invokations of gclient succeed when running smoketests. (ehmaldonado@chromium.org)
  https://crrev.com/c50b0963e3f25f16e46a0029b1c1e939d0d4abd8 git_cache: don't lose options in upload_bootstrap. (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie408dac677f6a1f38abe70978467c3012d87d599
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255880
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
This reverts commit 0dacc6b.

Change-Id: Ie103e9f36b07e4ee256a3688a4decf3a6dd74314
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255832
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Change-Id: I3b7cde6e7f68192af5419fb09c7d59e7a803a4d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255818
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This reverts commit 7a538b1.

Reason for revert: ios failures

Original change's description:
> Make FP optimizations helpers use SkAlphaType not GrColorType
> 
> Change-Id: I3b7cde6e7f68192af5419fb09c7d59e7a803a4d5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255818
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com

Change-Id: Id41daa47fb3ccac434bb9d71a697f32e36c87367
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255835
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit 1792b19.

Reason for revert: need to update legacy_convexity, still used by google3

Original change's description:
> Revert "Revert "Use flat version of path-direction enum""
> 
> This reverts commit 0dacc6b.
> 
> Change-Id: Ie103e9f36b07e4ee256a3688a4decf3a6dd74314
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255832
> Auto-Submit: Mike Reed <reed@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I0ecea0eb8a237298c6b908cc4bfd1cacdfc5b900
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255976
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Change-Id: Ied060a4de792d6372b8410bf8c7628b5fd1dfefb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255528
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Since we've moved compilation to a Debian10 Docker container, the
resulting binaries won't run on Debian9 unless we also run them in a
Debian10 Docker container.

Test-Debian10-GCC-GCE-CPU-AVX2-x86-Debug-All-Docker failures are
tracked in skia:9664.

Bug: skia:9632, skia:9664
Change-Id: I97edc142cf558e30d11bd7bc3b5d1b423ba2418b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255152
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Docs-Preview: https://skia.org/dev/contrib/cqkeywords?cl=255524
No-Try: true
Change-Id: Idb7248f5eac07474b2b079041c739c9ef9717c18
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255524
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
It was disconcerting to have these change radically when I changed the code flow in another CL.

Change-Id: Ifd4c1be454e3f9291fa05f040545c95fa20be58a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255822
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
The *previous* SkWuffsCodec.cpp commit, 39da10b "Optimize SkWuffsCodec
pixbuf zero-initialization", removed the need to *explicitly*
zero-initialize the fPixelBuffer on the first frame decode. Subsequent
frames, including the first frame of the animation again if the
animation is looped, still need to call sk_bzero.

Prior to *this* commit, each row of the pixel buffer was zeroed
separately. When it is necessary to memset to zero, it can be faster to
issue one big call instead of many small calls.

For example, the single-frame droids.gif file mentioned in the previous
commit (39da10b) now skips the explicit sk_bzero calls, due to the
optimization in exactly that previous commit. But if it was a looped
animation, decoding subsequent (repeated) frames would need to memset
the re-used buffer to zero. The time taken for those sk_bzero calls
would be affected by this commit: from 2.900ms to 2.454ms (out of a
total decode time of 33.342ms as per 39da10b's commit message).

Bug: skia:8235
Change-Id: I72ec3dc4230f06f358b5e8fee1b2799607d86615
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255358
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
This provides a way to indicate that a Metal RenderTarget, and in
particular a RenderTargetProxy, is framebufferOnly, so it can be
restricted to certain operations.

Bug: skia:9573
TBR: bsalomon@google.com
Change-Id: I733fae2fce402c375534889346255afe28a57944
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255783
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
I've punted for now on GPU test support.

Change-Id: I2ebe54a6fc61e1ce92120a6a221d5bb936b047e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255874
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Also, create and use new service account for the G3 compile bots.

Interesting failure here refers to when the bot fails only because of
test failures and not:
* merge failures
* unknown failure reasons (eg: some flaky timeouts from the script running in borg)
* when the bot is not owned or approved by a Googler

NoTry: true
Bug: skia:9631
Change-Id: I964fd7874269116cca0e25d1b516283a00d5133f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254278
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
(also renames CreateTextureSetOps to AddTextureSetOps, to match naming of
GrFillRectOp::AddFillRectOps).

Now that GrTextureOp can add more than one op to the GrRTC, it can take
over ownership of its fallback code for the texture set. It already had
taken over the code for non src-over blends when drawing a single texture.

Besides consolidating where the logic of converting TextureSetEntries into
op data lives, this makes the fallback case more consistent in terms of
performance. Previously, it would go through GrRTC::drawTexturedQuad,
which attempts to merge the clip with the draw for correctness reasons.
A batch never attempted these optimizations, so now even when one op per
quad is required, there won't be the overhead of comparing clips.

Change-Id: I30883e3bd45ed4386f81584e3d68229c46b17e47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255781
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Change-Id: I3c8bf48dda061aa9d318b9f81f22608fdd68fcbd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255786
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Change-Id: Ifd33831b6a83a56685435ce8e4fbb218a147b34e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255981
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Bug: skia:7160, skia:9517
Change-Id: I5c00dca477de88bc46cbc12829a97fb36aed8f14
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255979
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
This is complete overkill for what these GMs require but it will help centralize things.

Change-Id: If30cbd9a9cfc8fcc1fe96fc9ca1b4cb17cdeb4bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255824
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This reverts commit 7cda6f3.

Reason for revert: legacy convexity code removed -- google3 should be ok

Original change's description:
> Reland "Revert "Use flat version of path-direction enum""
>
> This reverts commit 1792b19.
>
> Reason for revert: need to update legacy_convexity, still used by google3
>
> Original change's description:
> > Revert "Revert "Use flat version of path-direction enum""
> >
> > This reverts commit 0dacc6b.
> >
> > Change-Id: Ie103e9f36b07e4ee256a3688a4decf3a6dd74314
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255832
> > Auto-Submit: Mike Reed <reed@google.com>
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
>
> TBR=reed@google.com
>
> Change-Id: I0ecea0eb8a237298c6b908cc4bfd1cacdfc5b900
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255976
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I3529139bb391c4f62ce5cd0744cdf38a13b71d78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255984
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
mattleibow and others added 25 commits January 18, 2020 05:40
Still a bit more to do, but good so far.
Chromium now requires the 10.15 SDK
(https://bugs.chromium.org/p/chromium/issues/detail?id=1023913), which
breaks the CommandBuffer bot because it's trying to compile with XCode
10.3, which provides the 10.14 SDK.

What's worse, due to reasons I don't fully understand, after failing to
compile CommandBuffer due to the dependence on the 10.15 SDK, the ninja
out dir is poisoned for future compiles that don't depend on the 10.15
SDK.

Also includes a code snippet from
https://skia-review.googlesource.com/c/skia/+/264429 to find the xSAN
dylibs.

Change-Id: I3cd7661a5ea984ea6899e7a5e8cf878581538d9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272736
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
(cherry picked from commit 9980661)
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273813
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
It was very out of date in this branch.

Bug: skia:9962
Change-Id: I78be24686a44c9c9729bd75036656bbe373af7a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275678
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
@mattleibow mattleibow changed the base branch from xamarin-mobile-bindings to xamarin-develop April 24, 2020 20:35
@mattleibow mattleibow changed the title [WIP] Updating to m79 Updating to m80 Apr 24, 2020
@mattleibow mattleibow merged commit 9a913ef into xamarin-develop Apr 24, 2020
@mattleibow mattleibow deleted the dev/update-m78 branch April 24, 2020 20:36
Et7f3 pushed a commit to Et7f3/esy-skia that referenced this pull request Jun 25, 2020
…y for font characters (mono#64)

Bugfix / Performance: Memory leak - always allocating new memory for font characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.